﻿select * from AccountInfo  --个人信息
select * from BankCard  --银行卡信息
select * from CardStateChange  --银行卡状态更改表
select * from CardTransfer  --转账表
select * from CardExchange  --交易记录
--1. 为赵云此人进行开户开卡操作，赵云身份证：420107199904054233


--2. 需要求出张飞的银行卡卡号和余额，张飞身份证：420107199602034138  （1.使用连接查询，2.使用变量）
--3.某用户银行卡号为“6225547854125656”，该用户执行取钱操作，取钱5000元，余额充足则进行取钱操作，并提示"取钱成功"，否则提示“余额不足”。
declare @cardmoney money;
select @cardmoney=CardMoney from BankCard where CardNo='6225547854125656'
if @cardmoney>5000
begin
update BankCard set CardMoney=CardMoney-5000 where CardNo='6225547854125656'
insert into CardExchange(CardNo,MoneyInBank,MoneyOutBank,ExchangeTime)values('6225547854125656',0,5000,GETDATE())
print'取钱成功'
end
else
begin
print'取钱失败'
end
​--4.查询银行卡信息，将银行卡状态1,2,3,4分别转换为汉字“正常,挂失,冻结,注销”，并且根据银行卡余额显示银行卡等级 30万以下为“普通用户”,30万及以上为"VIP用户"，  
select CardNo,AccountCode,RealName,CardMoney ,
(
case 
when CardState=1 then '正常'
when CardState=2 then '挂失'
when CardState=3 then '冻结'
when CardState=4 then '注销'
end 
) 银行卡状态,
(
case 
when CardMoney>30000 then 'VIP客户'
when CardMoney<30000 then '普通用户'
end 
) 银行卡等级
  from BankCard
  inner join AccountInfo on AccountInfo.AccountId=BankCard.AccountId
--5.循环打印1-10
declare @a int
set @a = 1
while(@a<=10)
begin 
print @a 
set @a+=1
end
​--6.打印99乘法表
